1. Field of the Invention
The present invention relates to apparatus and methods for displaying graphic information, and more particularly, to data processing apparatus and methods for generating and manipulating windows for the display of data on a computer display system.
2. Art Background
It is quite common in the computing industry to represent and convey information to a user through graphic representations. These representations may take a variety of forms, such as for example, alpha numeric characters, Cartesian or other coordinate graphs, as well as shapes of well known physical objects. A common method of interaction with a computer system is frequently referred to as an "object oriented" system in which many previously coded programming commands are replaced with two dimensional graphics on a computer display. A common object oriented interface utilizes multiple "windows" displayed on a cathode ray tube (CRT) in which combinations of text and graphics are used to convey information. Each window may take the form of a square or rectangle or, for example, a familiar object such as a file folder, which may overlap one another with the top fully visible window constituting the current work file. Text, two and three dimensional graphics, flow charts and the like may be displayed within each of the windows. The use of windows renders the computer system easier to operate, permits multiple programming applications to be executed in various windows, and provides a stronger man/machine interface.
Although a variety of graphic representations are desired in an object oriented environment, traditionally large amounts of memory have been required in order to generate, store and manipulate graphics characters. In addition, for three-dimensional ("3D") graphics applications, most systems utilize a Z-buffer for determining which points of a 3D graphics image are to be displayed and rendered visible to the user. (See, for example, U.S. Pat. Nos. 4,475,104, and 4,679,041, relating to Z-buffer based systems for displaying 3D images.) In systems which utilize multiple overlapping windows, the boundaries of the window must act to "clip" text and graphics in the various windows such that the contents of the window does not exceed the window boundary. In the case of a first window overlapping the contents of a second window, the text or graphics of the second window must be clipped so that it does not enter the boundaries of the first window, in order to protect the integrity of the window system. An example of a window display system is illustrated in FIG. 1, in which multiple windows (A through I) are displayed, and wherein each of the windows may contain text, or two or three dimensional graphic images.
Most display systems include a display memory which comprises a "bit map" wherein each memory bit is mapped onto a corresponding picture element (pixel) of the display. Thus an entire screen of data, in the form of images and/or text, is represented by one or more bits in a block of memory defining the bit map. Keeping track of each window, clipping the displayed data and or graphics to the window boundaries, and efficiently manipulating the windows which form a subset of the display memory has historically been a time consuming and complex task.
As will be described, the present invention provides a means whereby a Z-buffer may be used for window identification, window clipping, as well as hidden surface elimination in a graphics display. Moreover, the present invention permits the display of cross-sections of an object at a desired depth, within a window forming a part of the entire display screen.